Forward and backward analysis of object-oriented database programming languages: an application to static integrity management
نویسندگان
چکیده
In this paper, we propose an efficient technique to statically manage integrity constraints in objectoriented database programming languages. We place ourselves in the context of a simplified database programming language, close to O2, in which we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naı̈ve management of such constraints can cause a severe floundering of the overall system. Our basic assumption is that the runtime checking of constraints is too costly to be undertaken systematically. Therefore, methods that are always safe with respect to integrity constraints should be proven so at compile time. The run-time checks should only concern the remaining methods. To that purpose, we propose a new approach, based on the use of predicate transformers combined with automatic theorem proving techniques, to prove the invariance of integrity constraints under complex methods. We then describe the current implementation of our prototype, and report some experiments that have been performed with it on non trivial examples. The counterpart of the problem of program verification is that of program correction. Static analysis techniques can also be applied to solve that problem. We present a systematic approach to undertake the automatic correction of potentially unsafe methods. However, the advantages of the latter technique are not as clear as those of program verification. We will therefore discuss some arguments for and against the use of method correction. Though our work is developed in the context of object-oriented database programming languages, it can easily be applied to the problem of static verification and correction of object-oriented languages providing pre and post-conditions such as Eiffel.
منابع مشابه
Static Integrity Constraint Management in Object-Oriented Database Programming Languages via Predicate Transformers
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of an extended version of the O2 database programming language, and we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naive management of...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملA Cost Model for Path Expressions in Object-Oriented Queries
Query processing remains one of the important challenges of Object-Oriented Database Management Systems. Cost based query optimization involves creating alternative executing plans for a given query and executing the least costly one within a cost model framework. In Object-Oriented Database Management Systems (OODBMSs) objects may store references to other objects (precomputed joins), and path...
متن کاملStatic Management of Integrity in Object-Oriented Databases: Design and Implementation
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of a simplified database programming language, close to O2 , in which we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naı̈ve management ...
متن کاملIntegrity Maintenance in an Object-Oriented Database
We present an approach for integrating inter-object constraint maintenance seamlessly into an object-oriented database system. We develop a constraint compilation scheme that accepts declarative global specification of constraints, including relational integrity, referential integrity, and uniqueness requirements, and generates an efficient representation that permits localized processing. We d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997